#   导入需要用到的包
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
import json

#   设置目标网站的url
url='https://www.yingjiesheng.com/'
#   定义自动化的浏览器驱动(executabl_path指定浏览器驱动的路径) 这里使用的是微软的浏览器
driver=webdriver.Edge(executable_path=r'D:\学习资料\python网络爬虫\微软浏览器驱动\msedgedriver.exe')

#   打开浏览器
driver.get(url)
#   将页面最大化
driver.maximize_window()

time.sleep(5)

#   光标放到叉掉登录的位置
off=driver.find_element_by_xpath('//*[@id="app"]/div/div[2]/div/div/div[1]/button/i')
#   点击关闭
off.click()

#   定位到输入框，输入数据分析
search_input=driver.find_element_by_xpath('//*[@id="keywordInput"]')
#   输入数据分析
search_input.send_keys('数据分析')
time.sleep(3)
#   点击搜索
search_click=driver.find_element_by_xpath('//*[@id="home"]/div[4]/div/div/div[1]/button')
search_click.click()
time.sleep(5)

#   跳转到末尾的标签(不跳转的话，下面的程序会一直在第一个页面操作)
driver.switch_to.window(driver.window_handles[-1])

# 获取当前标签页的URL
current_url = driver.current_url
print("当前标签页的URL是:", current_url)
#   这里休息是为了让页面完全加载出来，否则会找不到元素
time.sleep(10)

#   定位到输入手机号码的框里输入手机号码，进行登录
#   定位到手机号码输入框
input_number=driver.find_element_by_xpath('//*[@id="search"]/div[3]/div[1]/div[2]/div/div[2]/div/div[2]/div[1]/div/div[2]/input')
#   在里面输入手机号码
input_number.send_keys('18172411867')
#   定位到同意协议，并且打上钩
#   定位到打勾的位置        agreement:协议
to_agreement=driver.find_element_by_xpath('//*[@id="search"]/div[3]/div[1]/div[2]/div/div[2]/div/div[3]/div/label/span[1]/span')
#   执行点击事件
to_agreement.click()

#   休息1分钟填写验证码
time.sleep(60)
time.sleep(5)

#   获取登录成功后的Cookie
cookies=driver.get_cookies()
#   检查拿到的cookies的数据类型
for x in cookies:
    print(x)
    print(type(x))
#   将cookies写入到文件保存起来，按照json的格式保存
for x in cookies:
    dict_cookie=json.dumps(x)
    with open("cookies.json",'w') as file:
        for x in cookies:
            print(type(x))
            json.dump(x,file)
            file.write('\n')

#   关闭浏览器
driver.close()







